﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Ninject;
using PGE.AfastamentosTempMVC.Modelo;
using PGE.AfastamentosTempMVC.Servico.Interfaces;
using PGE.AfastamentosTempMVC.Repositorio.Interfaces;

namespace PGE.AfastamentosTempMVC.Servico.Implementacao
{
    public class NucleoServico : INucleoServico
    {
        [Inject]
        public INucleoRepositorio NucleoRepositorio { get; set; }

        #region INucleoServico Members

        void INucleoServico.Adicionar(Nucleo nucleo)
        {
            NucleoRepositorio.Adicionar(nucleo);
        }

        void INucleoServico.Editar(Nucleo funcionario)
        {
            NucleoRepositorio.Editar(funcionario);
        }

        void INucleoServico.Deletar(Nucleo nucleo)
        {
            NucleoRepositorio.Deletar(nucleo);
        }

        void INucleoServico.DeletarMuitos(Func<Nucleo, bool> where)
        {
            NucleoRepositorio.DeletarMuitos(where);
        }

        Nucleo INucleoServico.ObterPorID(int Id)
        {
            return NucleoRepositorio.ObterPorID(Id);
        }

        Nucleo INucleoServico.ObterPornome(Func<Nucleo, bool> where)
        {
            return NucleoRepositorio.ObterPornome(where);
        }

        Nucleo INucleoServico.ObterPrimeiro()
        {
            return NucleoRepositorio.ObterPrimeiro();
        }

        Nucleo INucleoServico.ObterPrimeiro(Func<Nucleo, bool> where)
        {
            return NucleoRepositorio.ObterPrimeiro(where);
        }

        IEnumerable<Nucleo> INucleoServico.ListarTudo()
        {
            return NucleoRepositorio.ListarTudo();
        }

        IQueryable<Nucleo> INucleoServico.GetQueryable()
        {
            return NucleoRepositorio.GetQueryable();
        }

        IEnumerable<Nucleo> INucleoServico.ListarMuitos(Func<Nucleo, bool> where)
        {
            return NucleoRepositorio.ListarMuitos(where);
        }

        #endregion
    }
}
